/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package structure;
import java.util.*;
import java.io.*;
import net.*;

/**
 *
 * @author antonio
 */
public class LoaderSpatialStructure {

    private Hashtable gloabalStructure = new Hashtable();


    private String mappaDir = "E:\\Documents and Settings\\antonio\\Documenti\\teststanza\\";
    private Vector point = new Vector(); //contiene gli hashProbability dei mac della stanza/punto

    public Hashtable loadStructure()
    {
        try{

            File dir = new File(this.mappaDir);

            if(dir.isDirectory())
            {
                String listaFile[] = dir.list();

                for(int i=0; i<listaFile.length; i++)
                {
                    HashMacHandler handlerMac = new HashMacHandler(new Hashtable());

                    String nomeFile = listaFile[i];

                    BufferedReader mappaPunto = new BufferedReader(new FileReader(this.mappaDir + nomeFile));

                   
                    while(true)
                    {
                        AccessPoint ap = new AccessPoint();

                        String line = mappaPunto.readLine();
                        if(line == null)
                            break;

                        ap.setMac(line);

                        String signal = mappaPunto.readLine();
                        ap.setSignal(signal);

                        String totalSignal = mappaPunto.readLine();
                        ap.setTotalSignal(totalSignal);

                        HashProbabilityHandler handlerProbability = new HashProbabilityHandler(ap); //creo l'hash dei segnali di un AP della stanza
                        handlerMac.addHashProbability(line, handlerProbability.getHashProbability()); //aggiungo questo hash dei segnali all'hash dei MAC degli AP di una stanza

                    }

                    this.gloabalStructure.put(nomeFile, handlerMac.getHashMac()); //aggiungo l'hash dei MAC di una stanza all'hash globale della struttura
                }
            }
            else
            {
                //lancia l'eccezione corretta!!!
            }

        }catch(Exception e)
        {
            e.printStackTrace();
        }

        return this.gloabalStructure;
    }

}
